package com.readpost.doman.Dao;

import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;


@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserDao {

    // 用户名
    @NotNull(message = "用户名不能为空")
    private String username;

    // 密码
    @JsonIgnore// 忽略密码字段的序列化和反序列化
    private String passwordMd5;

    // 邮箱
    @Email(message = "邮箱格式不正确")
    private String email;

    // 手机号
    private String phone;

    /**
     * 用户角色
     * admin：管理员
     * user：普通用户
     */
    private enum role{admin,user}

    /**
     * 用户状态
     * active：活跃状态
     * logout：注销状态
     * banned：封禁状态
     */
    private enum status{active,logout,banned}

    // 头像URL
    private String avatarUrl;

    // 简介
    private String  bio;

    // 注册时间
    private LocalDateTime createdAt;

    // 更新时间
    private LocalDateTime updatedAt;



}
